iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 13
0
Software Development

初探Kotlin系列 第 13

[Day 13] Interfaces

  • 分享至 

  • xImage
  •  

Interfaces

Kotlin的Interface相似於Java 8 可包含抽象方法及方法的實作
也可含有property, 與抽象類別不同的是Interface不能儲存狀態(?)
使用關鍵字interface

interface MyInterface {
    fun bar()
    fun foo() {
      // optional body
    }
}

實作方式

class Child : MyInterface {
    override fun bar() {
        // body
    }
}

Properties in Interfaces

可在interface中宣告屬性 屬性可以是抽象的或者可以為引用的類提供實現

interface MyInterface {
    val prop: Int // abstract

    val propertyWithImplementation: String
        get() = "foo"

    fun foo() {
        print(prop)
    }
}

class Child : MyInterface {
    override val prop: Int = 29
}

上一篇
[Day 12] Properties and Fields-1
下一篇
[Day 14] Visibility Modifiers
系列文
初探Kotlin19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言